1. Field of the Invention
The present invention relates to dynamic range control and, more particularly, to a graphical interface for multiband dynamic range control.
2. Description of the Related Art
Dynamic Range Control involves performing various processes on audio signals in order to affect the amplitude of the signals. Amplitude is generally measured in decibels (dBs), and modifying the amplitude of the signal acts to make the signal louder or softer, which can greatly affect both a user's audio experience as well as the perceived quality of the signal.
It is quite common to perform dynamic range control on sounds such as musical instruments. The controls to be performed on a signal can vary greatly based upon various factors, such as the quality of the speakers, the spacing and orientation of the speakers, and the probable environment in which the signals will be heard. For example, a laptop computer typically has small speakers of relatively low quality. The controls applied to signals for the laptop computer will be different than that of a system that has large speakers of high quality.
Various components in an audio system may react to various audio artifacts on certain types of signals. For example, in a certain computer system, audio signals that have an amplitude that is above the operating range of the speakers may result in an audible “buzz”. Dynamic Range Control typically involves setting up various settings to be performed on the dynamic range audio signals to avoid these audio artifacts (although in certain instances dynamic range control is used to introduce desirable audio artifacts). Notably, this is a completely different process than signal equalization, which involves the alteration of the frequency response of a device. To the extent that equalization affects amplitude, it does so by altering the amplitude by a specific amount, also called the gain. Dynamic range control, on the other hand, as will be seen, involves using different controllers for different amplitude ranges to apply ratios of amplitudes of input signal to output signal, as opposed to fixed gains.
Common types of dynamic range control include compression, limiting, expansion, and gating. Compression involves reducing the dynamic range of a signal. Such action typically results in the loud parts of the signal getting quieter and the quiet parts of the signal getting louder (or at least perceived to be louder in light of the loud parts of the signal getting quieter). The compressor affects signals that are above a base threshold. Compression is typically stated as a ratio, such as 2:1, which means the input level (above the threshold) would have to increase by two decibels to create a one decibel increase in the output.
Limiting is an extreme form of compression, where the input/output relationship becomes very flat (e.g., 10:1 or higher). This essentially places a hard limit on the signal level.
Expansion and gating are similar to compression and limiting, except in the reverse. Expansion involves increasing the dynamic range of a signal so that the loud parts get louder and the quiet parts get quieter. Gating is an extreme form of expansion where a hard baseline is essentially placed on the signal. This can be beneficial in, for example, eliminating a constant, low buzzing noise in a signal.
Compression and limiting perform dynamic range control on signals above certain thresholds, whereas expansion and gating perform dynamic range control on signals below certain thresholds. These thresholds may be set by a user, as can the ratios for each of the dynamic range controls. Each type of control (e.g., compression, limiting, expansion, gating) may be referred to as a dynamic range controller. While traditionally such controllers were separate physical devices, in the digital age it is common for such controllers to be embodied in software and/or software/hardware combinations, and many distinct controllers may actually be embodied in a single piece of software.
In addition to providing different thresholds and ratios, users often find it beneficial to alter the dynamic range controllers based on the frequencies of the incoming signals. For example, it might be beneficial to provide more gating on lower frequency noises (to reducing background “rumbling”) than on high frequency noises. This is known as multiband dynamic range control, as frequencies are often represented as a range, or band. For example, a user may apply a first gating ratio and threshold for a band from zero to 250 hertz (hz), and a second gating ratio and threshold for a band from 250 hz to 2000 hz.
Typically, there have been two different types of user interfaces utilized to perform dynamic range control: sliders, and input/output graphs.
Sliders are a carryover from the days when dynamic range controllers were individual pieces of hardware. FIG. 1 is a screen capture illustrating a typical slider-based dynamic range control interface. Here, a different screen may be displayed for each type of dynamic range controller. The controller in FIG. 1 is a compressor, as indicated by reference numeral 100. The various crossover points indicating the breakpoints between frequency bands may be specified using sliders 102, 104, and 106. Since there are three crossovers, there are four different frequency bands for this compressor. Thresholds may be set for each of the four bands using sliders 108, 110, 112, and 114, and compression amount may be specified using sliders 116, 118, 120, and 122.
In addition to the above-mentioned settings, it is also common to set attack and release times for the various dynamic range controllers. Attack time refers to the time delay between when the signal hits the threshold and when the controller actually begins to perform the specified range control. Release time refers to the time delay between when the signal falls below the threshold and when the controller actually begins to stop performing the specified range control. While ordinarily one might expect that it would be most beneficial to have both attack time and release time be as minimal as possible, having some amount of attack time and release time prevents the controller from causing abrupt changes, and can provide less noticeable, smoother transitions. In FIG. 1, the attack time and release time can be specified using sliders 124 and 126. There are other various settings, such as equalization settings, that can be controlled by sliders depicted in FIG. 1, but these are outside the scope of this document and will therefore not be discussed.
The other typical type of dynamic range control user interface is an input/output graph. As example of such a graph is depicted in FIG. 2. Here, output amplitude level is displayed on the vertical axis 200 and input amplitude level is displayed on the horizontal axis 202. This represents the change in input level for a particular dynamic range controller. FIG. 2 depicts a compressor, and as such at a certain threshold 204, the curve changes from a slope of 1 (unaltered amplitude) to a lower slope. For example, 2:1 compression 206 is depicted in FIG. 2 starting at the threshold 204. If the controller had been a limiter, the slope would have been even lower, approaching a flat horizontal, given the high ratio of input level to output level characteristic of limiters.
These typical user interfaces, however, suffer from various disadvantages. The user is not able to see all the dynamic range controller information on one screen. When using sliders, the sliders only depict the settings for a single controller at a time. Likewise, the input/output graph only depicts the settings for a single controller at a time. The input/output graph additionally suffers from the fact that it displays only a single frequency band at a time. Furthermore, the text-based nature of the sliders makes it difficult for users to visualize and adjust the settings of the controllers.
What is needed is a user interface for dynamic range controller that is easy and intuitive for a user and provides information on all controllers and all frequency bands in a single screen.